import json
import requests
import base64

from constants import CaptcahApi


class CaptchaRecognizer(object):

    # 数英汉字类型
    # 通用数英1-4位 10110
    # 通用数英5-8位 10111
    # 通用数英9~11位 10112
    # 通用数英12位及以上 10113
    # 通用数英1~6位plus 10103
    # 定制-数英5位~qcs 9001
    # 定制-纯数字4位 193
    # 通用中文字符1~2位 10114
    # 通用中文字符 3~5位 10115
    # 通用中文字符6~8位 10116
    # 通用中文字符9位及以上 10117
    # 定制-XX西游苦行中文字符 10107
    # 通用数字计算题 50100
    # 通用中文计算题 50101
    # 定制-计算题 cni 452
    def common_verify(self, image_path, verify_type="60000"):
        with open(image_path, "rb") as f:
            image = f.read()
        payload = {
            "image": base64.b64encode(image).decode(),
            "token": CaptcahApi.TOKEN,
            "type": verify_type
        }
        response= requests.post(CaptcahApi.URL, headers=CaptcahApi.HEADERS, data=json.dumps(payload))
        if response.status_code == 200:
            return response.json()['data']['data']
        else:
            return ""